package com.bagua.sbbcshop.tool;

import javax.servlet.http.HttpServletRequest;

/**
 * 通过User-Agent来判断是否是移动浏览器,微信浏览器
 * @author xhou
 */
public class BrowserUtil {

    /**
     * 判断是否为微信浏览器
     * @param request
     * @return
     */
    public static boolean isWXBrowser(HttpServletRequest request) {
        if (request == null) {
            return false;
        }
        String userAgent = request.getHeader("user-agent");
        if (userAgent == null || "".equals(userAgent)) {
            userAgent = request.getHeader("User-Agent");
        }
        if (userAgent == null || "".equals(userAgent)) {
            return false;
        }
        boolean result = false;
        if (userAgent.indexOf("MicroMessenger") != -1 || userAgent.toLowerCase().indexOf("micromessenger") != -1 || userAgent.toLowerCase().indexOf("wechat") != -1) {
            result = true;
        }
        return result;
    }

    /**
     * 电脑上的IE或Firefox浏览器等的User-Agent关键词
     */
    private static String[] pcBrowser = new String[]{"Windows 98", "Windows ME", "Windows 2000", "Windows XP",
            "Windows NT", "Ubuntu", "Mac OS"};

    // 移动浏览器类型
    public static final String[] mobileAgents = {"iphone", "iPad", "iPod", "android", "phone", "mobile", "wap", "netfront", "java",
            "opera mobi", "opera mini", "ucweb", "windows ce", "Windows Phone", "MQQBrowser", "symbian", "series", "webos", "sony", "blackberry",
            "dopod", "nokia", "samsung", "palmsource", "xda", "pieplus", "meizu", "midp", "cldc", "motorola", "foma",
            "docomo", "up.browser", "up.link", "blazer", "helio", "hosin", "huawei", "novarra", "coolpad", "webos",
            "techfaith", "palmsource", "alcatel", "amoi", "ktouch", "nexian", "ericsson", "philips", "sagem", "wellcom",
            "bunjalloo", "maui", "smartphone", "iemobile", "spice", "bird", "zte-", "longcos", "pantech", "gionee",
            "portalmmm", "jig browser", "hiptop", "benq", "haier", "^lct", "320x320", "240x320", "176x220", "w3c ",
            "acs-", "alav", "alca", "amoi", "audi", "avan", "benq", "bird", "blac", "blaz", "brew", "cell", "cldc",
            "cmd-", "dang", "doco", "eric", "hipt", "inno", "ipaq", "java", "jigs", "kddi", "keji", "leno", "lg-c",
            "lg-d", "lg-g", "lge-", "maui", "maxo", "midp", "mits", "mmef", "mobi", "mot-", "moto", "mwbp", "nec-",
            "newt", "noki", "oper", "palm", "pana", "pant", "phil", "play", "port", "prox", "qwap", "sage", "sams",
            "sany", "sch-", "sec-", "send", "seri", "sgh-", "shar", "sie-", "siem", "smal", "smar", "sony", "sph-",
            "symb", "t-mo", "teli", "tim-", "tosh", "tsm-", "upg1", "upsi", "vk-v", "voda", "wap-", "wapa", "wapi",
            "wapp", "wapr", "webc", "winw", "winw", "xda", "xda-", "Googlebot-Mobile"};

}